///*
//* Copyright 2017 Yonyou Auto Information Technology（Shanghai） Co., Ltd. All Rights Reserved.
//*
//* This software is published under the terms of the YONYOU Software
//* License version 1.0, a copy of which has been included with this
//* distribution in the LICENSE.txt file.
//*
//* @Project Name : marketing-gateway-api
//*
//* @File name : SignCheck.java
//*
//* @Author : Administrator
//*
//* @Date : 2017年8月7日
//*
//----------------------------------------------------------------------------------
//*     Date       Who       Version     Comments
//* 1. 2017年8月7日    Administrator    1.0
//*
//*
//*
//*
//----------------------------------------------------------------------------------
//*/
//
//package com.yonyou.gmmc.gateway.api.util;
//
//import java.security.NoSuchAlgorithmException;
//import java.util.Map;
//
//import org.apache.commons.lang.StringUtils;
//import org.apache.log4j.Logger;
//import org.marketing.common.util.CheckUtil;
//import org.marketing.common.util.CommonUtils;
//import org.marketing.common.util.CopyOfStringUtil;
//import org.springframework.beans.factory.annotation.Value;
//
//import com.alibaba.fastjson.JSON;
//
///**
// * @author Administrator TODO description
// * @date 2017年8月7日
// */
//
//public class SignCheck {
//
//    @Value("${SECRET_KEY_STATUS}")
//    private String key;
//    
//    private static Logger logger = Logger.getLogger(SignCheck.class);
//
//    public boolean check(Map<String,Object> map) {
//        logger.info("key为："+key);
//        logger.info("移除sign前的map为》"+map);
//        String sign = map.get("sign").toString();
//        logger.info("获取的sign》》》"+sign);
//        map.remove("sign");
//        logger.info("移除sign后的map为》"+map);
//        try {
//            Map<String,Object> param = CommonUtils.generateSign(map, key);
//            String s = param.get("sign").toString();
//            logger.info("生成的sign》》》"+s);
//            if(sign.equals(s)){
//                return true;
//            }else{
//                return false;
//            }
//        } catch (NoSuchAlgorithmException e) {
//            // TODO Auto-generated catch block
//            e.printStackTrace();
//            return false;
//        }
////        Map map = JSON.parseObject(str);
////        for (Object obj : map.keySet()) {
////            logger.info("key为：" + obj + "值为：" + map.get(obj));
////        }
////        logger.info("传入的map为：" + map);
////        String sign = "";
////        sign = map.get("sign").toString();
////        logger.info("传入的签名为："+sign);
////        if(!CheckUtil.NullOrEmpty(sign)){
////            map.remove("sign");
////            String mdSign = CopyOfStringUtil.generateSign(map);
////            logger.info("根据参数生成的Sign为：" + mdSign);
////            if (sign.equals(mdSign)) {
////                logger.info("sign校验通过！");
////                return true;
////            } else {
////                logger.info("sign校验不通过！");
////                return false;
////            }
////        }else{
////            logger.info("sign校验不通过！");
////            return false;
////        }
//        // if(str.indexOf("sign=")>0){
//        // String sign = StringUtils.substringAfter(str,"sign=").substring(0,32);
//        // logger.info("签名为："+sign);
//        // String param = "";
//        // if(str.indexOf("&sign=")<1){
//        // param = str.replaceAll("sign="+sign+"&", "").replaceAll("&", ",");
//        // }else{
//        // param = str.replaceAll("&sign="+sign, "").replaceAll("&", ",");
//        // }
//        // logger.info("参数为："+param);
//        // Map<String,Object> map = CopyOfStringUtil.StringToMap(param);
//        // logger.info("参数为："+map);
//        // String mdSign = CopyOfStringUtil.generateSign(map);
//        // logger.info("根据参数生成的Sign为："+mdSign);
//        // if(sign.equals(mdSign)){
//        // return true;
//        // }else{
//        // return false;
//        // }
//        // }else{
//        // return false;
//        // }
//    }
//}
